This relates to a method of simulating a hexagonal array of computer processors and/or memories and in particular to a method of simulating such arrays in a computer in which individual processors and/or memories are physically connected in a rectilinear grid.
Computer memories are typically organized in serial order at consecutive memory addresses or locations. The physical location of the memories usually is in the same numerical order as their addresses.
In parallel computers, processors are sometimes organized in a rectilinear array in which each processor is physically connected to adjacent processors in the same row and column. Thus each processor is connected to its nearest neighbor processors to the north, east, south and west. In the Connection Machine (Reg. TM) Computer that is described in the above referenced '474 application, each processor in an array of thousands of processors has its own memory and each processor/memory is connected in two different networks, one of which is a rectilinear array.
In certain applications it is desirable to interconnect processors and/or memories in more complicated networks than a rectilinear array. For example, as set forth in the above referenced application, "Method and Apparatus for Simulating Systems Described by Partial Differential Equations", it has been found possible to use cellular automata to simulate systems described by partial differential equations. In a preferred embodiment of that invention a two dimensional space is tesselated into a cellular array of regular hexagons and the simulation is performed by considering interactions between each hexagonal cell and its six nearest neighbors. To facilitate such simulation, it is desirable to represent each cell as a memory location and/or processing element that interacts with six nearest neighbors. Because of the enormous number of identical calculations that are required to perform the simulations described in "Method and Apparatus for Simulating Systems Described by Partial Differential Equations", it is also desirable to perform such calculations on a massively parallel processor such as the Connection Machine Computer. In that computer, however, as in many other parallel computers, individual processors are connected in a rectilinear array and not in a hexagonal array.